From: Jonas Dreßler Date: Wed, 24 Feb 2021 11:06:19 +0000 (+0100) Subject: iconGrid: Bail out of getRowPadding early if we'll return 0 X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~179 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7a5650d8682860bc40d3679e3752e5fccc876661;p=gnome-shell.git iconGrid: Bail out of getRowPadding early if we'll return 0 This gets our time spent in vfunc_allocate() down again by ~0.1 ms from 1.4 ms to 1.3 ms. Part-of: --- diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js index 27ffd733e..8f6b54701 100644 --- a/js/ui/iconGrid.js +++ b/js/ui/iconGrid.js @@ -663,6 +663,10 @@ var IconGridLayout = GObject.registerClass({ } _getRowPadding(items, itemIndex, childSize, spacing) { + if (this.lastRowAlign === Clutter.ActorAlign.START || + this.lastRowAlign === Clutter.ActorAlign.FILL) + return 0; + const nRows = Math.ceil(items.length / this.columnsPerPage); let rowAlign = 0; @@ -682,18 +686,13 @@ var IconGridLayout = GObject.registerClass({ Clutter.get_default_text_direction() === Clutter.TextDirection.RTL; switch (this.lastRowAlign) { - case Clutter.ActorAlign.START: - rowAlign = 0; - break; case Clutter.ActorAlign.CENTER: rowAlign = availableWidth / 2; break; case Clutter.ActorAlign.END: rowAlign = availableWidth; break; - case Clutter.ActorAlign.FILL: - rowAlign = 0; - break; + // START and FILL align are handled at the beginning of the function } return isRtl ? rowAlign * -1 : rowAlign;